Smartphones (and other types of portable, hand-held computing devices, such as tablet computers) are in widespread use today, most often in connection with entertainment, communications and office productivity. Most smartphones include a camera, and applications have been developed for using the camera to read barcodes. In a typical known application an image feed from the camera is displayed on the display screen of the smart phone. The user moves the smart phone with respect to the barcode until the image of the barcode is centered on the display screen and the application decodes the barcode. A problem exists in that this process is too time consuming for most non-consumer barcode reading applications. Further, the smart phone camera system and illumination system are not optimized for reading a barcode and therefore using a smart phone for barcode reading is much less efficient than utilizing a traditional barcode reader.